#pragma once
#include <boost/date_time/posix_time/posix_time.hpp>
#include "Types.h"
using namespace boost::posix_time;

class CTimer
{
public:
	CTimer(void);
	~CTimer(void);
	void Start();
	void Stop();
	double GetTimeDelta();
	ptime GetTimeStart();
	ptime GetTimeEnd();
	bool IsRunning();
	time_duration GetTimeRunningDuration();
	double GetTimeRunning();
	ulong GetTickCount();

protected:
	bool m_bRunning;

	//Start time of the last frame
	ptime m_timeStart;
	ptime m_timeEnd;
	time_duration m_delta;
};

